package com.paradogs.gs.misc;

import com.paradogs.framework.annotations.serverHandler.PRMapping;
import com.paradogs.gs.misc.annotations.GameManager;
import com.paradogs.gs.modules.OwnerSyncData;
import com.paradogs.gs.modules.WorldSyncData;
import com.paradogs.gs.modules.role.msg.KickData;
import com.paradogs.gs.modules.world.base.WorldNodeProto;

/**
 * @author: yumi
 * @date: 2024/2/26  17:43
 * @Description: 消息推送组件, 代理类: _NetMgrProxy.class
 */
@GameManager
public interface _NetMgr extends IManager {

    // 踢出
    @PRMapping("_net.kick")
    void kick(KickData kickData);

    // 同步 SyncData
    @PRMapping("_sync.owner")
    void syncOwner(OwnerSyncData ownerSyncData);

    // worldNode 信息
    @PRMapping("_node.info")
    void worldNodeInfo(WorldNodeProto node);

    // 单位进入 node
    @PRMapping("_node.obj.enter")
    void worldNodeEnter(WorldSyncData object);

    // 单位离开 node
    @PRMapping("_node.obj.leave")
    void worldNodeLeave(WorldSyncData object);

    // 单位状态更新
    @PRMapping("_node.obj.update")
    void worldNodeUpdateObject(WorldSyncData object);
}
